<?php

namespace App\Helpers;


require __DIR__ . '/address/address.php';

class Faker 
{
    protected static $enterprises = [
        'energyStorager' => [
            '阳光电源股份有限公司',
            '固德威技术股份有限公司',
            '惠州亿纬锂能股份有限公司',
            '国电南瑞科技股份有限公司',
            '中国东方电气集团有限公司',
            '易事特集团股份有限公司',
            '南都电源股份有限公司',
            '科士达科技发展有限公司',
            '福建永福电力设计股份有限公司',
            '山东圣阳电源股份有限公司',
            '比亚迪股份有限公司',
            '宁德时代股份有限公司',
            '锦浪科技股份有限公司',
            '天合光能股份有限公司',
            '上海派能能源科技有限公司',
            '深圳科士达科技股份有限公司',
            '江苏中天科技股份有限公司',
            '平高集团储能科技有限公司',
            '许昌许继电科储能技术有限公司',
            '南都电源股份有限公司',
            '华泰慧能(北京)能源技术有限公司',
            '宁波杉杉股份有限公司',
            '上海电气集团股份有限公司',
            '沃太能源股份有限公司',
            '远景科技集团有限公司',
            '协鑫集成科技股份有限公司',
            '杭州中恒电气股份有限公司',
        ], 
        'vehicle' => [
            '上海汽车集团股份有限公司',
            '东风汽车集团有限公司',
            '中国第一汽车集团有限公司',
            '北京汽车集团有限公司',
            '中国长安汽车集团有限公司',
            '广州汽车集团股份有限公司',
            '浙江吉利控股集团有限公司',
            '长城汽车股份有限公司',
            '中国重型汽车集团有限公司',
            '中国中车集团',
            '比亚迪股份有限公司',
            '安徽江淮汽车股份有限公司',
            '厦门金龙汽车集团股份有限公司',
            '重庆市迪马实业股份有限公司',
            '庆铃汽车股份有限公司',
            '江苏日盈电子股份有限公司',
            '大昌行集团有限公司',
            '龙洲集团股份有限公司',
            '江苏日盈电子股份有限公司',
            '华菱星马汽车（集团）股份有限公司',
            '特斯拉中国分公司',
            '广汽丰田汽车有限公司',
            '上汽大众汽车有限公司',
            '蔚来汽车科技有限公司',
            '广州小鹏汽车科技有限公司',
            '沃尔沃集团',
            '雪佛兰汽车公司',
            '中车时代电动汽车股份有限公司',
            '理想汽车有限公司',
        ], 
        'charger' => [
            '中航锂电科技有限公司',
            '特来电新能源股份有限公司',
            '万帮数字能源股份有限公司',
            '国家电网有限公司',
            '江苏云快充新能源科技有限公司',
            '浙江爱充网络科技有限公司',
            '上海上汽安悦充电科技有限公司',
            '中国普天信息产业股份有限公司',
            '深圳市车电网络有限公司',
            '上海依威能源科技有限公司',
            '杭州华三通信技术有限公司',
            '宁德时代股份有限公司',
            '深圳市科陆电子科技股份有限公司',
            '北京富电科技有限公司',
            '深圳市聚电网络科技有限公司',
            '山东鲁能智能技术有限公司',
            '珠海泰坦新动力电子有限公司',
            '万马联合控股集团有限公司',
            '上海追日电气有限公司',
            '上海挚达科技发展有限公司',
            '特斯拉中国分公司',
            '上海鼎充新能源技术有限公司',
            '福建百城新能源科技有限公司',
            '深圳安和威电力科技有限公司',
            '国电南瑞科技股份有限公司官',
            '深圳奥特迅电力设备股份有限公司',
            '北京电动未来信息科技有限公司',
            '云杉智慧新能源技术有限公司',
        ], 
        'insurance' => [
            '泰康保险集团',
            '阳光保险集团',
            '新华保险股份有限公司',
            '太平人寿保险有限公司',
            '同方全球人寿保险有限公司',
            '友邦保险有限公司',
            '招商局仁和人寿保险股份有限公司',
            '中国平安保险集团',
            '中国人寿保险股份有限公司',
            '太平洋人寿保险有限公司',
            '华夏人寿保险股份有限公司',
            '中国人民保险集团',
            '前海人寿保险股份有限公司',
            '天安人寿保险股份有限公司',
            '百年人寿保险股份有限公司',
            '恒大人寿保险有限公司',
            '富德生命人寿保险公司',
            '中邮人寿保险股份有限公司',
            '中意人寿保险有限公司',
            '农银人寿保险股份有限公司',
            '珠江人寿保险股份有限公司',
            '爱心人寿保险股份有限公司',
            '美国大都会人寿保险公司',
            '长城人寿保险股份有限公司',
            '民生人寿保险股份有限公司',
            '中英人寿保险有限公司',
            '信美国际香港有限公司',
            '财信吉祥人寿保险股份有限公司',
            '工银安盛人寿保险有限公司',
        ]
    ];

    protected static $charger_brand = [
        'Tesla特斯拉', 'XJ许继', 'POTEVIO中国普天', 'NARI南瑞', '奥特迅', '万马新能源', 'TITANS泰坦', 'TELD特来电', 'EVPOWER依威',
        '星星充电', '万马新能源', '英威腾invt', 'EAST易事特', 'CLOU科陆', 'KELONG科华', '鲁能Lnint', '森源电气SENYUAN', '上海一电SHFE',
        '金冠JINGUAN', '华商三优', '量子新能', '巴斯巴Ebusbar', '安悦充电', '中泰ZHONT', '佑赛科技USEM', '鑫悦购', '中恒ZHONHEN', '华气厚普HQHP',
        '中钰', '和顺Heshun', '卓越电气', '中能电气Ceepower', '阿拉充',
    ];
    
    protected static $energyStorager_brand = [
        '宁德时代', '比亚迪', '固德威', '阳光电源', '派能科技', '科士达', '亿纬锂能', '国轩高科', '科陆电子', '上能电气',
         '量能EPT', '天能', '超威CHILWEE', '海宝SHHB', '光宇COSLIGHT', '星恒电源', '京球KIJO', '南都NARADA', '亚亨YAHENG',
        '力伴LIBAN', '玉柴', '雅马哈yamaha', '康明斯', '常柴', '上柴', '泰豪', '泰格tiger', '威尔信', '中油济柴',
    ];

    protected static $vehicle_brand = [
        '一汽-大众奥迪' => [
            '奥迪A6L', '奥迪A4L','奥迪A4', '奥迪Q5L', '奥迪Q3', '奥迪A3', '奥迪Q2L', '奥迪Q5L Spor', '奥迪A6L新能源','奥迪S5', 
            '奥迪Q3 Sport', '奥迪e-tron', '奥迪Q7', '奥迪A8', '奥迪A5', '奥迪Q8', '奥迪A7', '奥迪A6', '奥迪S4', '奥迪Q2L e-tr',
            '奥迪S7', '奥迪S6', '奥迪e-tron(进口）', '奥迪S8', '奥迪TTS', '奥迪SQ5', '奥迪Q7新能源', '奥迪R8', '奥迪TT RS',
        ], 
        '阿斯顿·马丁' => [
            'DBX', 'DB11', 'V8 Vantage','DBS'
        ], 
        '阿尔法罗密欧' => [
            'Stelvio', 'Giulia'
        ], 
        '上汽通用别克' => [
            '别克GL8', '英朗', '君越', '昂科威Plus', '君威', '昂科旗', '昂科威', '昂科威S', '威朗', '凯越', '昂科拉', '别克GL6',
            '微蓝6', '昂科拉GX', '阅朗', '微蓝7',
        ], 
        '华晨宝马' => [ 
            '宝马5系', '宝马3系', '宝马X3', '宝马X1', '宝马X2', '宝马1系', '宝马iX3', '宝马5系新能源', '宝马X1新能源', '宝马7系',
            '宝马X7', '宝马4系', '宝马X6', '宝马X4', '宝马6系GT', '宝马3系GT', '宝马Z4', '宝马M3', '宝马M4', '宝马M8', '宝马M5',
            '宝马M2',
        ],
        '北京奔驰' =>[
            '奔驰E级', '奔驰GLC', '奔驰C级', '奔驰GLB', '奔驰A级', '奔驰GLA', '奔驰EQC', '奔驰E级新能源', '奔驰A级AMG', '奔驰EQA',
            '奔驰EQB', '奔驰GLE', '奔驰S级', '奔驰GLS', '奔驰E级(进口)', '奔驰CLA级', '奔驰CLS', '奔驰B级', '奔驰G级', '乌尼莫克',
            'AMG GT', '奔驰C级AMG', '奔驰GLE AMG', '迈巴赫S级欧版', '斯宾特美版', '威霆', '迈巴赫GLS', '奔驰EQS', '奔驰Metris加版',
        ],
        '广汽本田' => [
            '雅阁', '奥德赛', '皓影', '冠道', '缤智', '飞度', '凌派', '型格', '皓影新能源', '本田CR-V', '思域', '本田XR-V', '艾力绅',
             '英仕派', '本田UR-V', '享域', 'LIFE', '本田CR-V新能源', '思铂睿', '竞瑞', '杰德', '哥瑞',
        ], 
        '比亚迪' => [
            '宋PLUS新能源', '秦PLUS', '比亚迪e2', '唐新能源', '海豚', '元pro', '汉', '宋Pro', '宋PLUS', '宋MAX', '比亚迪F3',
            '宋Pro新能源', '秦Pro新能源', '宋', '唐', '秦Pro', '宋MAX新能源', '秦新能源', '比亚迪e1', '比亚迪e3', '秦', '比亚迪e9',
            '比亚迪D1', '速锐', '比亚迪F0', '比亚迪L3', '比亚迪S7', '比亚迪G6', '比亚迪M6',
        ], 
        '东风标致' => [
            '标致508', '标致408', '标致4008', '标致5008', '标致2008', '标致508L新能源', '标致4008新能源', '标致e2008',
        ], 

        '上汽通用五菱' => [ 
            '宝骏510', '宝骏730', '宝骏530', '宝骏310', '宝骏310W', '宝骏360', '宝骏E100', '宝骏E200',
        ], 
        
        '保时捷' => [
            '保时捷911', '保时捷718', 'Macan', 'Panamera', 'Cayenne', 'Panamera新能', 'Taycan', 'Cayenne新能源', '卡宴加版',
            'Panamera加版',
        ], 
        
        '一汽丰田' => [
            'RAV4荣放', '卡罗拉', '亚洲龙', '皇冠陆放', '威驰', '凌放HARRIER', '亚洲狮', '奕泽IZOA', 'RAV4荣放双擎E+', '威驰FS', 
            '卡罗拉锐放', '卡罗拉双擎E+', '柯斯达', '奕泽E进擎', '凯美瑞', '汉兰达', '威兰达', '雷凌', 'YARiS L 致炫', '丰田C-HR', 
            '锋兰达', '赛那SIENNA', 'YARiS L 致享', '凌尚', '威兰达新能源', '威飒', '丰田C-HR EV', '雷凌双擎E+', '逸致',
        ], 
    ];

    protected static $battery_brand = [
        '浙江南都电源动力股份有限公司'=>'南都电池',
        '旭派电源有限公司'=>'旭派电池',
        '天津杰士电池有限公司'=>'统一蓄电池',
        '理士国际技术有限公司'=>'理士电池',
        '风帆股份有限公司'=>'风帆电瓶',
        '柯锐世(上海)企业管理有限公司'=>'瓦尔塔/VARTA',
        '超威电源集团有限公司'=>'超威电池',
        '天能电池集团'=>'天能电池',
        '骆驼集团股份有限公司'=>'骆驼蓄电池',
        '广东汤浅蓄电池有限公司'=>'汤浅蓄电池',
        '美国奥铁马电池(中国)有限公司'=>'奥铁马蓄电池(OPTIMA)',
        '博世集团'=>'BOSCH(博世)蓄电池',
        '德尔福集团'=>'德尔福',
        '韩国ROCKET蓄电池(中国)有限公司'=>'ROCKET蓄电池',
        '深圳理光国际科技有限公司'=>'瑞奇电池',
        '东莞市鸿伟能源有限公司'=>'howell电池',
        '深圳市弘毅电池有限公司'=>'弘毅汽车电池',
        '成都川西蓄电池(集团)有限公司'=>'川西蓄电池',
        '巨江电源科技有限公司'=>'鸿雁AYOYA',
        '埃克塞德电源(上海)有限公司'=>'埃克塞德Exide',
        '上汽通用汽车有限公司'=>'德科ACDelco',
        '重庆万里新能源股份有限公司'=>'万里电池',
        '广东奥克莱集团有限公司'=>'奥克莱AOKLY',
        '卧龙电气驱动集团股份有限公司'=>'卧龙电气WOLONG',
        '山东瑞宇蓄电池有限公司'=>'瑞宇',
        '江西奥沃森新能源有限公司'=>'奥沃森',
        'GS YUASA集团'=>'GS YUASA蓄电池',
        '巨江电源科技有限公司'=>'巨江电池',
        '杭州博时科技有限公司'=>'博时电池',
    ];
    
    // protected static $brand = [
        // 'energyStorager' => self::$energyStorager_brand, 
        // 'vehicle' => self::$vehicle_brand, 
        // 'charger' => self::$charger_brand, 
        // 'battery' => self::$battery_brand, 
    // ];

    public static $status = ['在线', '在线', '在线', '在线', '在线', '在线', '在线', '在线', '在线', '离线', '未激活', '故障'];// 在线概率调高
    
    protected static $gender = ['男', '女'];

    protected static function address_txt()
    {
        $contents = file('app/Helpers/address/address.txt');
        $addr = \Address::smart($contents[rand(0, 100)]);
        return $addr;
    }

    public static function province()
    {
        require __DIR__ . '/address/data/a1.php';
        return  $a1_data[rand(1, 34)]['name'];
    }

    public static function city()
    {
        require __DIR__ . '/address/data/a2.php';
        $citys = array_values($a2_data);
        return $citys[rand(0, 408)]['name'];
    }

    public static function zone()
    {
        $addr = self::address_txt();
        return  $addr['province'] . $addr['city'] . $addr['region'];
    }

    public static function address()
    {
        $addr = self::address_txt();
        return $addr['province'] . $addr['city'] . $addr['region'] . $addr['street'];
    }

    public static function zone_address()
    {
        $addr = self::address_txt();
        $data = [
            'zone' => $addr['province'] . $addr['city'] . $addr['region'],
            'address' => $addr['street']
        ];
        if(in_array($addr['province'], ['上海', '北京', '天津', '重庆'])){
            $data['zone'] = $addr['city'] . $addr['region'];
        }
        return $data;
    }

    public static function enterprises($type='vehicle')
    {
        $types = ['energyStorager', 'vehicle', 'charger', 'insurance'];
        if(!in_array($type, $types)){
            $type = $types[array_rand($types)];
        }
        $data = self::$enterprises[$type];
        return $data[rand(0, count($data) - 1)];
    }

    public static function brand($type='vehicle')
    {
        $types = ['energyStorager', 'charger', 'vehicle', 'battery'];
        if(!in_array($type, $types)){
            $type = $types[array_rand($types)];
        }
        switch ($type) {
            case 'energyStorager':
                $data = self::$energyStorager_brand;
                break;
         
            case 'charger':
                $data = self::$charger_brand;
                break;

            case 'vehicle':          
                $data = self::$vehicle_brand; 
                break;

            case 'battery':
                $data = self::$battery_brand;
                break;
        }
        $key = array_rand($data) ;
        $value = $data[$key];
        return ['company' => $key , 'brand' => $value];
    }
}
